#pragma once
#include "../Base.h"

EXTERN_C
NTSTATUS NTAPI NtGetNextThread(
	__in HANDLE ProcessHandle,
	__in HANDLE ThreadHandle,
	__in ACCESS_MASK DesiredAccess,
	__in ULONG HandleAttributes,
	__in ULONG Flags,
	__out PHANDLE NewThreadHandle
);

EXTERN_C
NTSTATUS
PsResumeThread(
	IN PETHREAD Thread,
	OUT PULONG PreviousSuspendCount OPTIONAL
);

EXTERN_C
NTSTATUS
PsSuspendThread(
	IN PETHREAD Thread,
	OUT PULONG PreviousSuspendCount OPTIONAL
);

EXTERN_C
PVOID
PsGetThreadTeb(
	__in PETHREAD Thread
);




EXTERN_C
PETHREAD NtGetProcessMainThread(PEPROCESS Process);


EXTERN_C
ULONG GetThreadStartAddressOffset();
EXTERN_C
ULONG GetWin32ThreadStartAddressOffset();

EXTERN_C
ULONG GetEThreadListOffset();






